package com.ruoyi.system.util;

import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;

import java.io.File;

public class WdcFileUtil {

    /**
     * 将File转换为Base64字符串
     * @param file 待转换的文件
     * @return Base64编码字符串（若文件不存在或读取失败，返回null）
     */
    public static String fileToBase64(File file) {
        if (file == null || !file.exists() || !file.isFile()) {
            System.out.println("文件不存在或不是有效文件");
            return null;
        }

        try {
            // 1. 读取文件字节数组
            byte[] fileBytes = FileUtil.readBytes(file);
            // 2. 字节数组编码为Base64字符串
            return Base64.encode(fileBytes); // 替代 Base64Util.encodeToString
        } catch (Exception e) {
            System.out.println("文件转换Base64失败：" + e.getMessage());
            e.printStackTrace();
            return null;
        }
    }


    public static String filePathToBase64(String  path) {

        File file = new File(path);
        if (file == null || !file.exists() || !file.isFile()) {
            System.out.println("文件不存在或不是有效文件");
            return null;
        }

        try {
            // 1. 读取文件字节数组
            byte[] fileBytes = FileUtil.readBytes(file);
            // 2. 字节数组编码为Base64字符串
            return Base64.encode(fileBytes); // 替代 Base64Util.encodeToString
        } catch (Exception e) {
            System.out.println("文件转换Base64失败：" + e.getMessage());
            e.printStackTrace();
            return null;
        }
    }
}
